<?php 

$page_title = 'Mon compte';
if(isset($_SESSION['username'])) {
	$page_title = $_SESSION['username'];
}


// Gestion de l'inscription et de la connexion

// Connexion
if(isset($_POST['submit_login'])) {
	$username = $_POST['username'];
	$password = $_POST['password'];

	$client = BaseClientQuery::create()->findOneByMail($username); //On vérifie si le user existe
	if($client && $client->getPass() == $password) {
		// Si le user existe et que le pass est le meme, on le logue (session)
		userLogin($client->getId(), $client->getNom(), $client->getPrenom(), $client->getMail());
		// redirection pour prendre en conpte les sessions
		header('location: index.php?page=compte');
	}
	else {
		// dans le cas contraire, on definit u message d'erreur
		setMessage('Login non reconnu ou mot de passe erroné', 'error');
	}

}
elseif(isset($_POST['submit_register'])) { //Inscription

	$error = false;
	// test de correspondance des mots de passe
	if(!password_comparison($_POST['passwordsignup'], $_POST['passwordsignup_confirm'])) {
		setMessage('Les mots de passe ne correspondent pas.', 'error');
		$error = true;
	}

	// test de validité de l'email
	if (!checkmail($_POST['emailsignup'])) {
		setMessage('Le format de l\'email est incorrect', 'error');
		$error = true;
	}
	// On vérifie si le user n'existe pas déjà
	$client = BaseClientQuery::create()->findOneByMail($_POST['emailsignup']);
	if($client) {
		setMessage('Ce compte utilisateur existe déjà. Bientôt, une fonction "mot de passe oublié".', 'error');
		$error = true;
	}

	//s'il n'y a pas d'erreurs...
	if(!$error) {
		// on crée une nouvelle instance client, on definit ses attributs selon les valeurs du formulaires d'inscription
		$client = new Client();
		$client->setMail($_POST['emailsignup']);
		$client->setPass($_POST['passwordsignup']);
		if($client->save()) {
			// on sauvegarde dans la base
			$client = BaseClientQuery::create()->findOneByMail($_POST['emailsignup']); // on recupère l'entrée créée (pour l'id notamment)
			setMessage("Votre compte a bien été créé, bienvenue !");
			userLogin($client->getId(), $client->getNom(), $client->getPrenom(), $client->getMail()); // on logue le user
			header('Location: index.php?page=compte'); // on redirige vers la page compte pour prendre en compte l'initialisatio de la session
		}
	}
}
